<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
</body>
<script>
    /*
        JS中的数组是使用[]表示，其次JS中的数组是可以存储多种类型的数据；
        JS数组的长度是可变的，其数组的长度取决于你存入数组中最后一个数组元素的下标；
        JS数组对象拥有非常丰富的函数可供使用，可以看作是Java中的List集合
    */
    let arr = [];
    arr[1] = null;
    arr[100] = 100;
    console.log("数组的长度为：" + arr.length);

    /*
        js数组中的常用方法：
            foreach()方法，能够根据你传入的处理逻辑实现对数组的遍历，
            并且只会输出数组中有意义的数据，如undefined、空都不会输出；
            push()方法，在数组最后一个元素位置中存入元素；
            pop()方法，将数组中最后一个元素位置的数据移除；
            filter()方法，可以根据你传入的判断逻辑，过滤出集合中不符合要求的数据
            reduce()方法，能够根据你传入的逻辑，对集合中的元素进行求和
     */
    // 通过push()方法给数组赋值，那么就不会出现集合中为空的元素位置
    arr.push(new Date());
    // ()=>{} 是js中的箭头函数，等同于Java的lambda表达式
    arr.forEach((a) => console.log(a))
    console.log(arr.pop());

    let arr2 = [1, 2, 3, 4, 5, 6];
    // 在reduce()方法参数中分为两个不部分，其中第二个参数为 求和最终结果的初始值
    // 第一个参数为求和时，每遍历一个元素需要执行的方法，该方法也需要两个参数
    // 其中第二个参数为每次遍历数组获取的元素变量、第一个为求和变量
    let number = arr2.reduce((sum, a) => sum + a, 0);
    console.log(number)
</script>
</html>